package com.blog.study.study2;

import java.util.HashMap;
import java.util.WeakHashMap;

/**
 * 有关Java中的弱引用的学习.
 *
 * @author 张俊强~.
 * @date 2017/11/15-15:34.
 */
public class WeakHashMapDemo {

    public static void main(String[] args) {

        WeakHashMap weakHashMap = new WeakHashMap();

//        weakHashMap.remove();

        HashMap hashMap=new HashMap();
        for (int i = 0; ; i++) {

            Integer num=new Integer(i);
            hashMap.put(i,num);     // num 被引用

            weakHashMap.put(num, new String("WeakHashMap"));//将num改为i就会有对象被回收

            if (i % 1000 == 0) { //每隔一千次判断一下有没有对象被回收
                for (int j = 0; j < i; j++) {//遍历一遍
                    if (weakHashMap.get(j) == null) {
                        System.out.println("第" + j + "个对象开始回收");
                        return;
                    }
                }
            }
        }
    }

}
